home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / maestro / tests / cn.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-15  |  2.4 KB  |  83 lines

  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <sys/socket.h>
  4. #include <netdb.h>
  5. #include <Sender.h>
  6. #include <Receiver.h>
  7.  
  8.  
  9. char *progn;
  10.  
  11. main(argc,argv)
  12.      int argc;
  13.      char **argv;
  14. {
  15.   int retVal;
  16.   Sender *sender;
  17.   Receiver *receiver;
  18.   Port senderPort;
  19.   
  20.   progn=argv[0];
  21.   if (argc==1)
  22.   {
  23.     usage();
  24.     exit(-1);
  25.   }
  26.   printf("This program tests connecting to the Port Manager.\n");
  27.   printf("The PortMgrPortNumber is %d.\n",PortMgrPortNumber);
  28.   senderPort.hostName = argv[1];
  29.   printf("The hostName we are trying to connect to is %s\n",argv[1]);
  30.   senderPort.portNumber = PortMgrPortNumber;
  31.   printf("Now, we try to get a sender.\n");
  32.   sender = NewSender(&senderPort);
  33.   if (sender)
  34.   {
  35.     printf("The fields of sender are:\n");
  36.     printf("\tclientPtr (an address): %ld\n",
  37.        (unsigned long)(sender->clientPtr));
  38.     printf("\tclientSocket (an int): %d\n",sender->clientSocket);
  39.     printf("\tportNumber (an int): %d\n",sender->portNumber);
  40.     printf("\n");
  41.   } else
  42.   {
  43.     fprintf(stderr,"sender came back null---aborting\n");
  44.     exit(-2);
  45.   }
  46.   printf("Now, we try to get a receiver.\n");
  47.   receiver = NewReceiver(sender,argv[0],AnyPort);
  48.   if (sender)
  49.   {
  50.     printf("The fields of receiver are:\n");
  51.     printf("Port fields:\n");
  52.     printf("\thostName: %s\n",(receiver->receivePort).hostName);
  53.     printf("\tappName: %s\n",(receiver->receivePort).appName);
  54.     printf("\tportNumber: %d\n",(receiver->receivePort).portNumber);
  55.     printf("Other fields:\n");
  56.     printf("\treceiveSocket (an int): %d\n",receiver->receiveSocket);
  57.     printf("\tcreateErrorCode (an int): %d\n",receiver->createErrorCode);
  58.     printf("\ttransport (an address): %ld\n",
  59.        (unsigned long)(receiver->transport));
  60.     printf("\n");
  61.   }
  62.   else
  63.   {
  64.     fprintf(stderr,"receiver came back null---aborting\n");
  65.     exit(-3);
  66.   }
  67.   printf("This completes the connection to the Manager.\n");
  68.   printf("Press <CR> and program will try to disconnect\n");
  69.   getchar();
  70.   printf("\nTrying to disconnect.\n");
  71.   retVal=SenderDisconnectFromPortMgr(sender,&(receiver->receivePort));
  72.   printf("SenderDisconnectFromPortMgr returns with code %d\n",retVal);
  73.   printf("(0 is success, -1 is failure)\n");
  74.   exit(0);
  75. }
  76. usage()
  77. {
  78.   fprintf(stderr,"USAGE: %s name\n",progn);
  79.   fprintf(stderr,"where name names a host with a port manager (on port %d)\n",
  80.       PortMgrPortNumber);
  81.   fprintf(stderr,"For example, you might type %s `hostname`\n",progn);
  82. }
  83.